
package com.mu.rai.services;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for remoteTrigger complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="remoteTrigger">
 *   &lt;complexContent>
 *     &lt;extension base="{http://services.rai.mu.com}eventAction">
 *       &lt;sequence>
 *         &lt;element name="analysis_event" type="{http://services.rai.mu.com}analysisEvent" minOccurs="0"/>
 *         &lt;element name="attack_event" type="{http://services.rai.mu.com}attackEvent" minOccurs="0"/>
 *         &lt;choice>
 *           &lt;element name="console_channel" type="{http://services.rai.mu.com}consoleChannel"/>
 *           &lt;element name="ssh_channel" type="{http://services.rai.mu.com}sshChannel"/>
 *           &lt;element name="telnet_channel" type="{http://services.rai.mu.com}telnetChannel"/>
 *         &lt;/choice>
 *         &lt;element name="error_behavior" type="{http://services.rai.mu.com}channelErrorBehavior"/>
 *         &lt;element name="fault_event" type="{http://services.rai.mu.com}faultEvent" minOccurs="0"/>
 *         &lt;element name="instrument_event" type="{http://services.rai.mu.com}instrumentEvent" minOccurs="0"/>
 *         &lt;element name="isolation_event" type="{http://services.rai.mu.com}faultIsolationEvent" minOccurs="0"/>
 *         &lt;element name="restart_event" type="{http://services.rai.mu.com}restartEvent" minOccurs="0"/>
 *         &lt;element name="throttle_event" type="{http://services.rai.mu.com}throttleEvent" minOccurs="0"/>
 *         &lt;element name="variant_event" type="{http://services.rai.mu.com}variantEvent" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/extension>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "remoteTrigger", propOrder = {
    "analysisEvent",
    "attackEvent",
    "consoleChannel",
    "sshChannel",
    "telnetChannel",
    "errorBehavior",
    "faultEvent",
    "instrumentEvent",
    "isolationEvent",
    "restartEvent",
    "throttleEvent",
    "variantEvent"
})
public class RemoteTrigger
    extends EventAction
{

    @XmlElement(name = "analysis_event")
    protected AnalysisEvent analysisEvent;
    @XmlElement(name = "attack_event")
    protected AttackEvent attackEvent;
    @XmlElement(name = "console_channel")
    protected ConsoleChannel consoleChannel;
    @XmlElement(name = "ssh_channel")
    protected SshChannel sshChannel;
    @XmlElement(name = "telnet_channel")
    protected TelnetChannel telnetChannel;
    @XmlElement(name = "error_behavior", required = true)
    protected ChannelErrorBehavior errorBehavior;
    @XmlElement(name = "fault_event")
    protected FaultEvent faultEvent;
    @XmlElement(name = "instrument_event")
    protected InstrumentEvent instrumentEvent;
    @XmlElement(name = "isolation_event")
    protected FaultIsolationEvent isolationEvent;
    @XmlElement(name = "restart_event")
    protected RestartEvent restartEvent;
    @XmlElement(name = "throttle_event")
    protected ThrottleEvent throttleEvent;
    @XmlElement(name = "variant_event")
    protected VariantEvent variantEvent;

    /**
     * Gets the value of the analysisEvent property.
     * 
     * @return
     *     possible object is
     *     {@link AnalysisEvent }
     *     
     */
    public AnalysisEvent getAnalysisEvent() {
        return analysisEvent;
    }

    /**
     * Sets the value of the analysisEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link AnalysisEvent }
     *     
     */
    public void setAnalysisEvent(AnalysisEvent value) {
        this.analysisEvent = value;
    }

    /**
     * Gets the value of the attackEvent property.
     * 
     * @return
     *     possible object is
     *     {@link AttackEvent }
     *     
     */
    public AttackEvent getAttackEvent() {
        return attackEvent;
    }

    /**
     * Sets the value of the attackEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link AttackEvent }
     *     
     */
    public void setAttackEvent(AttackEvent value) {
        this.attackEvent = value;
    }

    /**
     * Gets the value of the consoleChannel property.
     * 
     * @return
     *     possible object is
     *     {@link ConsoleChannel }
     *     
     */
    public ConsoleChannel getConsoleChannel() {
        return consoleChannel;
    }

    /**
     * Sets the value of the consoleChannel property.
     * 
     * @param value
     *     allowed object is
     *     {@link ConsoleChannel }
     *     
     */
    public void setConsoleChannel(ConsoleChannel value) {
        this.consoleChannel = value;
    }

    /**
     * Gets the value of the sshChannel property.
     * 
     * @return
     *     possible object is
     *     {@link SshChannel }
     *     
     */
    public SshChannel getSshChannel() {
        return sshChannel;
    }

    /**
     * Sets the value of the sshChannel property.
     * 
     * @param value
     *     allowed object is
     *     {@link SshChannel }
     *     
     */
    public void setSshChannel(SshChannel value) {
        this.sshChannel = value;
    }

    /**
     * Gets the value of the telnetChannel property.
     * 
     * @return
     *     possible object is
     *     {@link TelnetChannel }
     *     
     */
    public TelnetChannel getTelnetChannel() {
        return telnetChannel;
    }

    /**
     * Sets the value of the telnetChannel property.
     * 
     * @param value
     *     allowed object is
     *     {@link TelnetChannel }
     *     
     */
    public void setTelnetChannel(TelnetChannel value) {
        this.telnetChannel = value;
    }

    /**
     * Gets the value of the errorBehavior property.
     * 
     * @return
     *     possible object is
     *     {@link ChannelErrorBehavior }
     *     
     */
    public ChannelErrorBehavior getErrorBehavior() {
        return errorBehavior;
    }

    /**
     * Sets the value of the errorBehavior property.
     * 
     * @param value
     *     allowed object is
     *     {@link ChannelErrorBehavior }
     *     
     */
    public void setErrorBehavior(ChannelErrorBehavior value) {
        this.errorBehavior = value;
    }

    /**
     * Gets the value of the faultEvent property.
     * 
     * @return
     *     possible object is
     *     {@link FaultEvent }
     *     
     */
    public FaultEvent getFaultEvent() {
        return faultEvent;
    }

    /**
     * Sets the value of the faultEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link FaultEvent }
     *     
     */
    public void setFaultEvent(FaultEvent value) {
        this.faultEvent = value;
    }

    /**
     * Gets the value of the instrumentEvent property.
     * 
     * @return
     *     possible object is
     *     {@link InstrumentEvent }
     *     
     */
    public InstrumentEvent getInstrumentEvent() {
        return instrumentEvent;
    }

    /**
     * Sets the value of the instrumentEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link InstrumentEvent }
     *     
     */
    public void setInstrumentEvent(InstrumentEvent value) {
        this.instrumentEvent = value;
    }

    /**
     * Gets the value of the isolationEvent property.
     * 
     * @return
     *     possible object is
     *     {@link FaultIsolationEvent }
     *     
     */
    public FaultIsolationEvent getIsolationEvent() {
        return isolationEvent;
    }

    /**
     * Sets the value of the isolationEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link FaultIsolationEvent }
     *     
     */
    public void setIsolationEvent(FaultIsolationEvent value) {
        this.isolationEvent = value;
    }

    /**
     * Gets the value of the restartEvent property.
     * 
     * @return
     *     possible object is
     *     {@link RestartEvent }
     *     
     */
    public RestartEvent getRestartEvent() {
        return restartEvent;
    }

    /**
     * Sets the value of the restartEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link RestartEvent }
     *     
     */
    public void setRestartEvent(RestartEvent value) {
        this.restartEvent = value;
    }

    /**
     * Gets the value of the throttleEvent property.
     * 
     * @return
     *     possible object is
     *     {@link ThrottleEvent }
     *     
     */
    public ThrottleEvent getThrottleEvent() {
        return throttleEvent;
    }

    /**
     * Sets the value of the throttleEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link ThrottleEvent }
     *     
     */
    public void setThrottleEvent(ThrottleEvent value) {
        this.throttleEvent = value;
    }

    /**
     * Gets the value of the variantEvent property.
     * 
     * @return
     *     possible object is
     *     {@link VariantEvent }
     *     
     */
    public VariantEvent getVariantEvent() {
        return variantEvent;
    }

    /**
     * Sets the value of the variantEvent property.
     * 
     * @param value
     *     allowed object is
     *     {@link VariantEvent }
     *     
     */
    public void setVariantEvent(VariantEvent value) {
        this.variantEvent = value;
    }

}
